package CONTABILIDAD_MODELO;
import Conexion.Conexion;
import Modelo.SIS_VERSION;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class CON_CUENTA_RETENCION{
    private double ID_CUENTA;
    private double ID_RETENCION;
    private Conexion con = null;
    
    public CON_CUENTA_RETENCION(){}
    
    public CON_CUENTA_RETENCION(double ID_CUENTA,double ID_RETENCION){
        this.ID_CUENTA =ID_CUENTA;
        this.ID_RETENCION =ID_RETENCION;
    }
    
    public boolean Insertar(){
        try{
            String consulta = "insert into BROKER.CON_CUENTA_RETENCION(ID_CUENTA,ID_RETENCION) VALUES ("+ID_CUENTA+","+ID_RETENCION+")";
            con.EjecutarSentencia(consulta);
            return true;
        }
        catch(Exception e){
            e.printStackTrace();
            return false;
        }
    }
    public CON_CUENTA_RETENCION BuscarXid(double ID_CUENTA,double ID_RETENCION){
        try{String consulta = "select * from BROKER.CON_CUENTA_RETENCION where ID_CUENTA = "+ID_CUENTA+" and ID_RETENCION = "+ID_RETENCION;
        ResultSet rs = con.EjecutarConsulta(consulta);
        return Cargar(rs).get(0);}
        catch(Exception e){
            e.printStackTrace();}
        return null;
    }
    public boolean EliminarXid(){
        try{
            String consulta = "delete from BROKER.CON_CUENTA_RETENCION where ID_CUENTA = "+getID_CUENTA()+" and ID_RETENCION = "+getID_RETENCION();
            con.EjecutarSentencia(consulta);
            return true;
        }
        catch(Exception e){
            e.printStackTrace();
            return false;
        }
    }
    
    
    public List<CON_CUENTA_RETENCION> BuscarXidCuenta(double ID_CUENTA){
        try{String consulta = "select * from BROKER.CON_CUENTA_RETENCION where ID_CUENTA = "+ID_CUENTA;
        ResultSet rs = con.EjecutarConsulta(consulta);
        return Cargar(rs);}
        catch(Exception e){
            e.printStackTrace();}
        return null;
    }
    
    
    
    public List<CON_CUENTA_RETENCION> Todos(){
        try{String consulta = "select * from BROKER.CON_CUENTA_RETENCION";
        ResultSet rs = con.EjecutarConsulta(consulta);
        return Cargar(rs);}
        catch(Exception e){
            e.printStackTrace();}
        return null;
    }
    
    public List<CON_CUENTA_RETENCION> Cargar(ResultSet rs){
        try{
            List<CON_CUENTA_RETENCION> lista = new ArrayList<CON_CUENTA_RETENCION>();
            while(rs.next()){
                CON_CUENTA_RETENCION objeto = new CON_CUENTA_RETENCION();
                
                objeto.setID_CUENTA(rs.getDouble("ID_CUENTA"));
                objeto.setID_RETENCION(rs.getDouble("ID_RETENCION"));
                objeto.setCon(con);
                lista.add(objeto);
            }
            return lista;
        }
        catch(SQLException ex){
            ex.printStackTrace();
            return null;}
    }
    
    public double getID_CUENTA(){
        return ID_CUENTA;
    }
    public void setID_CUENTA(double ID_CUENTA){
        this.ID_CUENTA=ID_CUENTA;
    }
    
    public double getID_RETENCION(){
        return ID_RETENCION;
    }
    public void setID_RETENCION(double ID_RETENCION){
        this.ID_RETENCION=ID_RETENCION;
    }
    
    public Conexion getCon() {
        return con;
    }
    public void setCon(Conexion con) {
        this.con = con;
    }            
    
}
